abstract class $LBLD_DIGRAPH{NTP,NLB,ELB} < $DIGRAPH{NTP} |
---|
**** | A digraph with node (NLB) and edge (ELB) labels |
$DIGRAPH{_} | $RO_DIGRAPH{_} | $GRAPH{_,_} | $STR | $ELT{_} | $ELT |
LBLD_DIGRAPH{_,_,_} | WTD_DIGRAPH{_,_} |
add_node_labelled(w: NLB): NTP; |
---|
**** | It is still possible to use the digraph "add_node" function to not specify a node label |
are_all_edges_labelled: BOOL; |
---|
**** | Returns true if all edges have labels |
are_all_nodes_labelled: BOOL; |
---|
**** | Returns true if all the nodes have labels |
connect(src,dest:NTP,w: ELB); |
---|
**** | It is still possible to connect nodes without specifying a label |
edge_label(e: DIEDGE{NTP}): ELB; |
---|
has_edge_label(e:DIEDGE{NTP}): BOOL; |
---|
**** | Return true if the edge "e" has a label |
has_node_label(n: NTP): BOOL; |
---|
**** | Return true if the node "n" has a label |
incoming!(once n: NTP, out a_node_label: NLB, out a_edge_label: ELB): NTP; |
---|
**** | Similar to the outgoing iter, but yield all incoming nodes into "n" |
node_label(n: NTP): NLB; |
---|
outgoing!(once n: NTP, out a_node_label: NLB, out a_edge_label: ELB): NTP; |
---|
**** | Yield the outgoing nodes for "n" and also provide the node and edge labels at the same time. It might be much more efficient to yield these together, in order, than to have to look up the node and edge labels separately. |
set_edge_label(e: DIEDGE{NTP},w: ELB); |
---|
set_node_label(n: NTP, w: NLB); |
---|